<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Bluetooth Host Stack Library: wiced_bt_stack_platform_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Bluetooth Host Stack Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structwiced__bt__stack__platform__t.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">wiced_bt_stack_platform_t Struct Reference<div class="ingroups"><a class="el" href="group__wiced__bt__platform__group.html">Bluetooth Stack Platform Interface</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<div class="textblock"><p>AIROC Bluetooth Stack Platform. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:adad588d1b2781b1a3a772b07688042aa"><td class="memItemLeft" align="right" valign="top"><a id="adad588d1b2781b1a3a772b07688042aa"></a>
<a class="el" href="group__gentypes.html#ga3485f1bcadb8362abc051922bd195a8d">pf_wiced_exception</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#adad588d1b2781b1a3a772b07688042aa">pf_exception</a></td></tr>
<tr class="memdesc:adad588d1b2781b1a3a772b07688042aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack exception callback. <br /></td></tr>
<tr class="separator:adad588d1b2781b1a3a772b07688042aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ca85e972a5e580a918826a1c1f46de3"><td class="memItemLeft" align="right" valign="top">void *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a9ca85e972a5e580a918826a1c1f46de3">pf_os_malloc</a> )(uint32_t size)</td></tr>
<tr class="memdesc:a9ca85e972a5e580a918826a1c1f46de3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to allocate memory.  <a href="#a9ca85e972a5e580a918826a1c1f46de3">More...</a><br /></td></tr>
<tr class="separator:a9ca85e972a5e580a918826a1c1f46de3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc875832e0747bb8b570f8c6298a9342"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#acc875832e0747bb8b570f8c6298a9342">pf_os_free</a> )(void *p_mem)</td></tr>
<tr class="memdesc:acc875832e0747bb8b570f8c6298a9342"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform memory free.  <a href="#acc875832e0747bb8b570f8c6298a9342">More...</a><br /></td></tr>
<tr class="separator:acc875832e0747bb8b570f8c6298a9342"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ca937c1c6089ca69d83cf9400455332"><td class="memItemLeft" align="right" valign="top">uint64_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a4ca937c1c6089ca69d83cf9400455332">pf_get_tick_count_64</a> )(void)</td></tr>
<tr class="memdesc:a4ca937c1c6089ca69d83cf9400455332"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to get tick count.  <a href="#a4ca937c1c6089ca69d83cf9400455332">More...</a><br /></td></tr>
<tr class="separator:a4ca937c1c6089ca69d83cf9400455332"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82309bb11d289ac1c110ce67580498d5"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a82309bb11d289ac1c110ce67580498d5">pf_set_next_timeout</a> )(uint64_t abs_tick_count)</td></tr>
<tr class="memdesc:a82309bb11d289ac1c110ce67580498d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to set the next timeout.  <a href="#a82309bb11d289ac1c110ce67580498d5">More...</a><br /></td></tr>
<tr class="separator:a82309bb11d289ac1c110ce67580498d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bd28e51d6868aca4d38cf5b3320258"><td class="memItemLeft" align="right" valign="top"><a id="ac8bd28e51d6868aca4d38cf5b3320258"></a>
<a class="el" href="structwiced__bt__lock__t.html">wiced_bt_lock_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#ac8bd28e51d6868aca4d38cf5b3320258">stack_lock</a></td></tr>
<tr class="memdesc:ac8bd28e51d6868aca4d38cf5b3320258"><td class="mdescLeft">&#160;</td><td class="mdescRight">Stack lock. <br /></td></tr>
<tr class="separator:ac8bd28e51d6868aca4d38cf5b3320258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c562c1e3eb34a6446875475a1516c1c"><td class="memItemLeft" align="right" valign="top">uint8_t *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a8c562c1e3eb34a6446875475a1516c1c">pf_get_acl_to_lower_buffer</a> )(<a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport, uint32_t size)</td></tr>
<tr class="memdesc:a8c562c1e3eb34a6446875475a1516c1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to get ACL buffer to send to lower.  <a href="#a8c562c1e3eb34a6446875475a1516c1c">More...</a><br /></td></tr>
<tr class="separator:a8c562c1e3eb34a6446875475a1516c1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a4b5442450b48076ed52dfcd8b9c645"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a5a4b5442450b48076ed52dfcd8b9c645">pf_write_acl_to_lower</a> )(<a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport, uint8_t *p_data, uint16_t len)</td></tr>
<tr class="memdesc:a5a4b5442450b48076ed52dfcd8b9c645"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to write ACL buffer to lower.  <a href="#a5a4b5442450b48076ed52dfcd8b9c645">More...</a><br /></td></tr>
<tr class="separator:a5a4b5442450b48076ed52dfcd8b9c645"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2928d2f9c68ef62fa7cb2a163ff48be"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#aa2928d2f9c68ef62fa7cb2a163ff48be">pf_write_iso_to_lower</a> )(uint8_t *p_data, uint16_t len)</td></tr>
<tr class="memdesc:aa2928d2f9c68ef62fa7cb2a163ff48be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to write ISO buffer to lower.  <a href="#aa2928d2f9c68ef62fa7cb2a163ff48be">More...</a><br /></td></tr>
<tr class="separator:aa2928d2f9c68ef62fa7cb2a163ff48be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c53e952d84ff4d34955aee7c3fc2aa7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a9c53e952d84ff4d34955aee7c3fc2aa7">pf_write_cmd_to_lower</a> )(uint8_t *p_cmd, uint16_t cmd_len)</td></tr>
<tr class="memdesc:a9c53e952d84ff4d34955aee7c3fc2aa7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to write CMD buffer to lower.  <a href="#a9c53e952d84ff4d34955aee7c3fc2aa7">More...</a><br /></td></tr>
<tr class="separator:a9c53e952d84ff4d34955aee7c3fc2aa7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52a07c249b67cb49669bcd684b3de451"><td class="memItemLeft" align="right" valign="top">uint8_t *(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a52a07c249b67cb49669bcd684b3de451">pf_get_sco_to_lower_buffer</a> )(uint32_t size)</td></tr>
<tr class="memdesc:a52a07c249b67cb49669bcd684b3de451"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to get SCO buffer to send to lower.  <a href="#a52a07c249b67cb49669bcd684b3de451">More...</a><br /></td></tr>
<tr class="separator:a52a07c249b67cb49669bcd684b3de451"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2edd57362c9701e0cc0214395009174"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#af2edd57362c9701e0cc0214395009174">pf_write_sco_to_lower</a> )(uint8_t *p_sco_data, uint8_t len)</td></tr>
<tr class="memdesc:af2edd57362c9701e0cc0214395009174"><td class="mdescLeft">&#160;</td><td class="mdescRight">Platform function to write SCO buffer to lower.  <a href="#af2edd57362c9701e0cc0214395009174">More...</a><br /></td></tr>
<tr class="separator:af2edd57362c9701e0cc0214395009174"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9dbca4b8b3d3f866ef07e258cc7c162"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#ac9dbca4b8b3d3f866ef07e258cc7c162">pf_hci_trace_cback_t</a> )(<a class="el" href="group__wicedbt___device_management.html#gaa76569d7be1ed9ff5262e81b3b651325">wiced_bt_hci_trace_type_t</a> type, uint16_t len, uint8_t *p_data)</td></tr>
<tr class="memdesc:ac9dbca4b8b3d3f866ef07e258cc7c162"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to trace HCI messages.  <a href="#ac9dbca4b8b3d3f866ef07e258cc7c162">More...</a><br /></td></tr>
<tr class="separator:ac9dbca4b8b3d3f866ef07e258cc7c162"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a91e6fe656d0c241cecd96e8545a782"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a8a91e6fe656d0c241cecd96e8545a782">pf_debug_trace</a> )(char *p_trace_buf, int trace_buf_len, <a class="el" href="group__bt__types.html#ga07d710014e873107ed8772dc40f03bef">wiced_bt_trace_type_t</a> trace_type)</td></tr>
<tr class="memdesc:a8a91e6fe656d0c241cecd96e8545a782"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function to dump out trace messages This interface function can be NULL if no debug tracing is supported.  <a href="#a8a91e6fe656d0c241cecd96e8545a782">More...</a><br /></td></tr>
<tr class="separator:a8a91e6fe656d0c241cecd96e8545a782"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dc571e1e6283ba422b8af5d3ea807fe"><td class="memItemLeft" align="right" valign="top"><a id="a5dc571e1e6283ba422b8af5d3ea807fe"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a5dc571e1e6283ba422b8af5d3ea807fe">trace_buffer_len</a></td></tr>
<tr class="memdesc:a5dc571e1e6283ba422b8af5d3ea807fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">trace_buffer_len : Trace buffer len <br /></td></tr>
<tr class="separator:a5dc571e1e6283ba422b8af5d3ea807fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44e54c18febc40a36c6a17fe0052bb6e"><td class="memItemLeft" align="right" valign="top"><a id="a44e54c18febc40a36c6a17fe0052bb6e"></a>
char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a44e54c18febc40a36c6a17fe0052bb6e">trace_buffer</a></td></tr>
<tr class="memdesc:a44e54c18febc40a36c6a17fe0052bb6e"><td class="mdescLeft">&#160;</td><td class="mdescRight">trace_buffer : Pointer to the trace buffer Applications can set this to NULL to disable traces <br /></td></tr>
<tr class="separator:a44e54c18febc40a36c6a17fe0052bb6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab424e8d1a539328e651f7ef3ec25f53f"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#ab424e8d1a539328e651f7ef3ec25f53f">pf_patch_download</a> )(void)</td></tr>
<tr class="memdesc:ab424e8d1a539328e651f7ef3ec25f53f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used for additional controller initialization by the porting layer to be performed after the HCI reset.  <a href="#ab424e8d1a539328e651f7ef3ec25f53f">More...</a><br /></td></tr>
<tr class="separator:ab424e8d1a539328e651f7ef3ec25f53f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e070674c9847fd0984a01be65f8389f"><td class="memItemLeft" align="right" valign="top">void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#a0e070674c9847fd0984a01be65f8389f">pf_get_trng</a> )(uint8_t *p_rand, uint8_t *p_len)</td></tr>
<tr class="memdesc:a0e070674c9847fd0984a01be65f8389f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set platform specific Random generator function.  <a href="#a0e070674c9847fd0984a01be65f8389f">More...</a><br /></td></tr>
<tr class="separator:a0e070674c9847fd0984a01be65f8389f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed774e9dc09f073b14790a248f007d8c"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structwiced__bt__stack__platform__t.html#aed774e9dc09f073b14790a248f007d8c">is_legacy_bless_controller</a>:1</td></tr>
<tr class="memdesc:aed774e9dc09f073b14790a248f007d8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">set is_legacy_bless_controller to 1 for only BLESS controllers.  <a href="#aed774e9dc09f073b14790a248f007d8c">More...</a><br /></td></tr>
<tr class="separator:aed774e9dc09f073b14790a248f007d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Field Documentation</h2>
<a id="a9ca85e972a5e580a918826a1c1f46de3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9ca85e972a5e580a918826a1c1f46de3">&#9670;&nbsp;</a></span>pf_os_malloc</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void*(* wiced_bt_stack_platform_t::pf_os_malloc) (uint32_t size)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to allocate memory. </p>
<p>Called by stack code to allocate memory from the OS/Platform. Implementing function is expected to return memory allocated from the OS/Platform</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>: Size of memory to be allocated</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: Pointer to allocated memory </dd></dl>

</div>
</div>
<a id="acc875832e0747bb8b570f8c6298a9342"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc875832e0747bb8b570f8c6298a9342">&#9670;&nbsp;</a></span>pf_os_free</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* wiced_bt_stack_platform_t::pf_os_free) (void *p_mem)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform memory free. </p>
<p>Called by stack code to free memory back to the OS/Platform. Implementing function is expected to free the memory allocated using pf_os_malloc (refer <a class="el" href="structwiced__bt__stack__platform__t.html#a9ca85e972a5e580a918826a1c1f46de3" title="Platform function to allocate memory.">pf_os_malloc</a> ) call from the OS/Platform</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_mem</td><td>: Ptr to memory to be freed</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: None </dd></dl>

</div>
</div>
<a id="a4ca937c1c6089ca69d83cf9400455332"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4ca937c1c6089ca69d83cf9400455332">&#9670;&nbsp;</a></span>pf_get_tick_count_64</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint64_t(* wiced_bt_stack_platform_t::pf_get_tick_count_64) (void)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to get tick count. </p>
<p>Called by stack timer code to get the free running 64 bit tick count</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">None</td><td></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: 64 bit current tick count </dd></dl>

</div>
</div>
<a id="a82309bb11d289ac1c110ce67580498d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82309bb11d289ac1c110ce67580498d5">&#9670;&nbsp;</a></span>pf_set_next_timeout</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* wiced_bt_stack_platform_t::pf_set_next_timeout) (uint64_t abs_tick_count)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to set the next timeout. </p>
<p>Called by stack timer code set the next timeout</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">abs_tick_count</td><td>: 64 bit tick count instant at which the timeout has to occur</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: void </dd></dl>

</div>
</div>
<a id="a8c562c1e3eb34a6446875475a1516c1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c562c1e3eb34a6446875475a1516c1c">&#9670;&nbsp;</a></span>pf_get_acl_to_lower_buffer</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t*(* wiced_bt_stack_platform_t::pf_get_acl_to_lower_buffer) (<a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport, uint32_t size)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to get ACL buffer to send to lower. </p>
<p>Called by stack to get a buffer to fill in the data to be sent to 'transport' (LE or BR/EDR) of 'size'</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">transport</td><td>: Transport on which the buffer is to be sent </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>: Size of the buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: Pointer to buffer which will be filled with data </dd></dl>

</div>
</div>
<a id="a5a4b5442450b48076ed52dfcd8b9c645"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a4b5442450b48076ed52dfcd8b9c645">&#9670;&nbsp;</a></span>pf_write_acl_to_lower</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>(* wiced_bt_stack_platform_t::pf_write_acl_to_lower) (<a class="el" href="group__bt__types.html#gae0d25ec063a889c537f3a77010cf5ef0">wiced_bt_transport_t</a> transport, uint8_t *p_data, uint16_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to write ACL buffer to lower. </p>
<p>Called by stack to send the buffer allocated using pf_get_acl_to_lower_buffer after filling it with the data to send.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">transport</td><td>: Transport on which the buffer is to be sent </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_data</td><td>: Pointer received using pf_get_acl_to_lower_buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>: Length of data at p_data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: wiced_result_t </dd></dl>

</div>
</div>
<a id="aa2928d2f9c68ef62fa7cb2a163ff48be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2928d2f9c68ef62fa7cb2a163ff48be">&#9670;&nbsp;</a></span>pf_write_iso_to_lower</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>(* wiced_bt_stack_platform_t::pf_write_iso_to_lower) (uint8_t *p_data, uint16_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to write ISO buffer to lower. </p>
<p>Called by stack to send the buffer allocated using pf_get_acl_to_lower_buffer after filling it with the data to send.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_data</td><td>: Pointer received using pf_get_acl_to_lower_buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>: Length of data at p_data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: wiced_result_t </dd></dl>

</div>
</div>
<a id="a9c53e952d84ff4d34955aee7c3fc2aa7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9c53e952d84ff4d34955aee7c3fc2aa7">&#9670;&nbsp;</a></span>pf_write_cmd_to_lower</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>(* wiced_bt_stack_platform_t::pf_write_cmd_to_lower) (uint8_t *p_cmd, uint16_t cmd_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to write CMD buffer to lower. </p>
<p>Called by stack to send HCI CMD buffer to lower</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_cmd</td><td>: Pointer to HCI CMD data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">cmd_len</td><td>: Length of data at p_cmd</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: wiced_result_t </dd></dl>

</div>
</div>
<a id="a52a07c249b67cb49669bcd684b3de451"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52a07c249b67cb49669bcd684b3de451">&#9670;&nbsp;</a></span>pf_get_sco_to_lower_buffer</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t*(* wiced_bt_stack_platform_t::pf_get_sco_to_lower_buffer) (uint32_t size)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to get SCO buffer to send to lower. </p>
<p>Called by stack to get a SCO buffer to fill in the data to be sent to HCI of 'size'</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">size</td><td>: Size of the buffer</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: Pointer to buffer which will be filled with data </dd></dl>

</div>
</div>
<a id="af2edd57362c9701e0cc0214395009174"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af2edd57362c9701e0cc0214395009174">&#9670;&nbsp;</a></span>pf_write_sco_to_lower</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group___result.html#gacfc32ead8a827d53416f01b19eb58310">wiced_result_t</a>(* wiced_bt_stack_platform_t::pf_write_sco_to_lower) (uint8_t *p_sco_data, uint8_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Platform function to write SCO buffer to lower. </p>
<p>Called to send SCO CMD buffer to lower</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_sco_data</td><td>: Pointer to SCO data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>: Length of data at p_data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: wiced_result_t </dd></dl>

</div>
</div>
<a id="ac9dbca4b8b3d3f866ef07e258cc7c162"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9dbca4b8b3d3f866ef07e258cc7c162">&#9670;&nbsp;</a></span>pf_hci_trace_cback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* wiced_bt_stack_platform_t::pf_hci_trace_cback_t) (<a class="el" href="group__wicedbt___device_management.html#gaa76569d7be1ed9ff5262e81b3b651325">wiced_bt_hci_trace_type_t</a> type, uint16_t len, uint8_t *p_data)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback function to trace HCI messages. </p>
<p>Called by stack to allow application to trace the HCI messages. Application/Porting code is expected to treat received data as read only, and make a copy of the data to reference it outside of the callback</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>: HCI event data type </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">len</td><td>: Length of data at p_data </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_data</td><td>: Pointer to data</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: void </dd></dl>

</div>
</div>
<a id="a8a91e6fe656d0c241cecd96e8545a782"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a91e6fe656d0c241cecd96e8545a782">&#9670;&nbsp;</a></span>pf_debug_trace</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* wiced_bt_stack_platform_t::pf_debug_trace) (char *p_trace_buf, int trace_buf_len, <a class="el" href="group__bt__types.html#ga07d710014e873107ed8772dc40f03bef">wiced_bt_trace_type_t</a> trace_type)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback function to dump out trace messages This interface function can be NULL if no debug tracing is supported. </p>
<p>Called by stack to allow application to write debug trace messages</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_trace_buf</td><td>: Pointer to the trace buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">trace_buf_len</td><td>: Length of the trace buffer </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">trace_type</td><td>: Type of trace message</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>: void </dd></dl>

</div>
</div>
<a id="ab424e8d1a539328e651f7ef3ec25f53f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab424e8d1a539328e651f7ef3ec25f53f">&#9670;&nbsp;</a></span>pf_patch_download</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* wiced_bt_stack_platform_t::pf_patch_download) (void)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Used for additional controller initialization by the porting layer to be performed after the HCI reset. </p>
<p>Can be set to NULL if no additional initialization required </p>

</div>
</div>
<a id="a0e070674c9847fd0984a01be65f8389f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e070674c9847fd0984a01be65f8389f">&#9670;&nbsp;</a></span>pf_get_trng</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void(* wiced_bt_stack_platform_t::pf_get_trng) (uint8_t *p_rand, uint8_t *p_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set platform specific Random generator function. </p>
<dl class="section note"><dt>Note</dt><dd>If platform does not support TRNG function then set this parameter to NULL </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>: wiced_result_t </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">p_rand</td><td>: buffer to store generated random number </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">p_len</td><td>: size of the buffer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="aed774e9dc09f073b14790a248f007d8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed774e9dc09f073b14790a248f007d8c">&#9670;&nbsp;</a></span>is_legacy_bless_controller</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t wiced_bt_stack_platform_t::is_legacy_bless_controller</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>set is_legacy_bless_controller to 1 for only BLESS controllers. </p>
<p>This is used while sending BLESS vendor specific commands. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>Bluetooth Host Stack Library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
</body>
</html>
